EtherNet/IP Core V3
Bugs:
- PSEIP-261: DHCP-retrieved domain name not properly padded
- PSEIP-259: Apply value of SelectAcd attribute on TCP object start only, not on any config change
- PSEIP-249: Wrong hardware options in nxi file header for single port firmware X190H000.nxi
- PSEIP-247: When QuickConnect is enabled in SetConfig request with the remanent data being unavail/deleted, then the EN PHY config is not set as expected
- PSEIP-245: Registering a user object reusing an existing built-in object ID may cause uninitialized error code on network
- PSEIP-238: Class1 connections are rejected with wrong expected connection size.
Bugs:
- PSEIP-237: Class 0 connection cannot be established
Changes:
- PSEIP-226: Optimize performance of IO assembly data processing
Bugs:
- PSEIP-225: Time Sync object can be created only if DLR object is available
Changes:
- PSEIP-220: When comm channel1 exists, SocketAPI shall not be available on channel 0
- PSEIP-212: ListIdentity Response Delay
Bugs:
- PSEIP-223: [Time Sync] Attribute 14 (Port Log Announce Interval Cfg) has incorrect default value
- PSEIP-219: No initial HIL_LINK_STATUS_CHANGE_IND on HIL_REGISTER_APP_REQ
- PSEIP-218: Set netIf initial (zero) address and set netif up
Changes:
- PSEIP-209: Cyclic class 0/1: Have first I/O data production immediately
Bugs:
- PSEIP-210: Define EIP_OBJECT_CIP_SERVICE_CNF_SIZE: Wrong parenthesis
- PSEIP-208: CT17: Connection Manager sporadically fails when RPI is set to 10 ms
Changes:
- PSEIP-205: Reallow user set access to TCP/IP object attribute 1
Bugs:
- PSEIP-203: Additional status size too large in case of ownership conflict error
- PSEIP-198: Check configuration assembly data in forward open request if there is a running connection that uses the same configuration assembly instance
- PSEIP-194: Hilscher objects in the vendor specific range colliding with vendor specific user objects
Changes:
- PSEIP-193: The behavior of the Hilscher specific IO object (0x402) should be configurable so that it does not always check for overlapping memory when a new instance is created.
Bugs:
- PSEIP-189: Assembly data which is read over explicit service is not updated, if no I/O connection is running
- PSEIP-187: Setting CIP_FLG_TREAT_NOTIFY is broken for all non-NV and all variable size attributes
- PSEIP-185: Off-by-one error in attribute Id check of CIPHIL_CMD_GET_ATTR_OPTION of TCP/IP object
- PSEIP-156: EIP_AS_OPTION_MAP_SEQCOUNT for class 0 connections always mapped value zero into the DPM
Bugs:
- PSEIP-178: Allow nameserver addresses which are not in the device's subnet, but forbid multicast addresses
- PSEIP-176: When no valid DDP data is set and thus, packets are rejected, CNF sizes should be set to zero
- PSEIP-174: TCP/IP object attribute 9 "mcast config" is initialized to [0,0,0,0]
Bugs:
- PSEIP-172: [TimeSync] PTP stays disabled after power cycle although TimeSync attribute 1 is set to "Enabled"
- PSEIP-171: Changing PTP DSCP values must not be applied before next restart (certification issue)
- PSEIP-164: Allow DSCP values used by the PTP subsystem to change dynamically
- PSEIP-162: RCX_GET_DPM_IO_INFO_REQ broken
Bugs:
- PSEIP-160: EtherNetLink attribute 8 "Interface state" may have undefined value 0
- PSEIP-158: When changing from 10Mbit/s to any other link speed, the link has to be kept down for two seconds
- PSEIP-151: Parsing of requests path with multiple segments
- PSEIP-150: In case no resource avail for remanent store indiciation, a crash might occur
- PSEIP-148: DHCP-assigned hostname is not stored remanently & lost over next power cycle
- PSEIP-141: DHCP-retrieved host name is not applied into TCP/IP object attribute 6
- PSEIP-138: Missing some attribute value validation checks
- PSEIP-137: Timesync attribute 6 set has no effect
New Features:
- PSEIP-108: Support of QuickConnect
- PSEIP-87: Implement EIP_AS_OPTION_MAP_RUNIDLE and EIP_AS_OPTION_MAP_SEQCNT for output assemblies
- PSEIP-77: Add function to get the status of an allocatable resource
- PSEIP-43: Support Identity Object attribute 19 "Protection Mode"
- PSEIP-26: Implement EIP file object download services
Changes:
- PSEIP-132: Update etxernal PSLWIP to V4.5.0.0
- PSEIP-130: Update to PTP V2.3.0.1
- PSEIP-111: Improve on connection ID entropy
- PSEIP-101: Adapt to new DrvEth ethernet subsystem start condition/DDP active signalling
- PSEIP-95: Cleanup distribution of libs and header files for LOM use case
- PSEIP-94: Update to Generic Bus Scan V1.0.0.1
- PSEIP-91: Update to PTP V2.2.6.0
- PSEIP-90: Update to DrvEth 2-Port-Switch V1.2.0.0
- PSEIP-89: Update to lwIP V4.3.0.0
- PSEIP-88: Update to Driver Ethernet to V1.7.0.2
- PSEIP-81: Forbid to set a serial number in SET_CONFIGURATION_PARAMETERS_REQ
- PSEIP-79: Restrict user Set Access to certain attributes
- PSEIP-78: Change parameters of function eip_eif_initialize_provider_update_request() and eip_eif_initialize_consumer_update_request()
- PSEIP-76: Increase stack size of low prio worker
- PSEIP-75: Member pvParam in attribute directory: consider removal
- PSEIP-73: NX52: Remanent data write threshold
- PSEIP-68: Tuning acylic request buffer sizes
- PSEIP-66: Adapt to changed API of ConfigManager V1.3.2.0
- PSEIP-59: NX90: Remanent data write threshold
- PSEIP-56: Improve error detection during stack boot
- PSEIP-55: Separate gci-core and gci-common, rename "gci-common" to "eip-interface", and rename "EIS_Intf" to "AP-Task"
- PSEIP-54: eip-core (folder eip) depends on eip_gci component
- PSEIP-53: Resurrect Scanner implementation: Updates, fixes, GCI adaption, example, documentation
- PSEIP-7: Cleanup stack API regarding services of Hilscher specific objects
- PSEIP-2: Rework file object to OSALv2
Bugs:
- PSEIP-134: Packet interface replies to EIP_OBJECT_RESET_RES wit hEIP_OBJECT_RESET_RES
- PSEIP-128: [CIP Sync] Time Sync object attribute 27 does not behave correctly (certification issue)
- PSEIP-127: CIP_IO_MAX_INSTANCE_ATTR should be 3 instead of 10
- PSEIP-122: API manuals: remove upper limit for assembly instance ID range
- PSEIP-121: EIP_EN_MAX_INSTANCE_ATTR value is wrong
- PSEIP-120: Incorrect value of CIP_ID_MAX_INSTANCE_ATTR
- PSEIP-119: CIP_TIMESYNC_MAX_INSTANCE_ATTR value is wrong
- PSEIP-117: netX52: "Fire & forget object changes " not stored remanently
- PSEIP-116: Add checks for valid assembly instance numbers
- PSEIP-109: NULL FwOpen should be rejected if at least one data direction requests a Null connection type
- PSEIP-107: Attribute option flags are not reset for some object during stack reset
- PSEIP-105: Memory corruption when two CIP services are processed at the same time
- PSEIP-103: Forward open handling: Ignore configuration application path in case no data segment is present in connection path
- PSEIP-100: Header casing inconsistent in file system and include statements
- PSEIP-99: TCP socket close callback argument not handled correctly
- PSEIP-97: PTP-Handle is not retrieved properly. Timesync-Registration in V3 Firmwares broken
- PSEIP-92: CipObj_RequestAsync_HighPrio_NoResponseData() overwrites stack memory of calling worker
- PSEIP-86: Adapt to slighty changed PTP API
- PSEIP-85: Write to TimeSync attribute 14 with unchanged attribute value is not replied to
- PSEIP-83: Robustness against unexpected host behavior in handling object changes is insufficient
- PSEIP-72: nx90/4000: ERR_HIL_DUPLICATE_NODE is never set in DPM when ACD conflicted
- PSEIP-71: nx90/4000: Synchronization errors are not accounted
- PSEIP-70: Lower eCos Middleware task prio
- PSEIP-69: Support command HIL_GET_TRIGGER_TYPE_REQ for compatibility
- PSEIP-65: The segment "Production inhibit time in milliseconds" in connection path is rejected with status 0x315 "Invalid segment in path" (certification issue)
- PSEIP-64: EtherNetLink volatile attributes not reset to defaults in channel init
- PSEIP-63: EIP_OBJECT_MS_NS_IND delivers wrong value right after ChannelInit
- PSEIP-62: Packet HIL_GET_TRIGGER_TYPE_REQ is not supported
- PSEIP-61: Clarify semantics of comm states STOP and IDLE and BusOn event: Adapt API manual
- PSEIP-60: Missing range check for QOS Parameters in EIP_APS_SET_CONFIGURATION_PARAMETERS_REQ
- PSEIP-57: NX90: Writing non-volatile attributes in rapid succession may crash the system
- PSEIP-50: Pointer-Type (void*) in Packet Definition EIP_OBJECT_LFWD_OPEN_FWD_IND_T not portable
- PSEIP-49: TimeSync Attribute 300 is not in Vendor Specific range
- PSEIP-48: Set access to class attributes with EIP_OBJECT_CIP_SERVICE_REQ may lead to a crash
- PSEIP-47: Invalid socket linger timeout
- PSEIP-46: Delivering acyclic requests into GenAP: Retry-mechanism should probably not just "give up and discard the packet" after a few failed attempts
- PSEIP-45: Forward Close responses with an error status are sent with success reply message format
- PSEIP-44: Possible crash in host application overload case
- PSEIP-41: Crash after reading attribute 301 of Time Sync Object 0x43
- PSEIP-39: Stack runs into assertion when host application stops handling the mailbox during CT16 Connection Manager test
- PSEIP-38: Resource leak in UCMM Electronic Key handling
- PSEIP-36: Invalid TTL value in SetConfig not rejected
Changes:
- PSEIP-101: Adapt to new DrvEth ethernet subsystem start condition/DDP active signalling
- PSEIP-81: Forbid to set a serial number in SET_CONFIGURATION_PARAMETERS_REQ
Bugs:
- PSEIP-105: Memory corruption when two CIP services are processed at the same time
- PSEIP-103: Forward open handling: Ignore configuration application path in case no data segment is present in connection path
- PSEIP-100: Header casing inconsistent in file system and include statements
Changes:
- PSEIP-95: Cleanup distribution of libs and header files for LOM use case
- PSEIP-94: Update to Generic Bus Scan V1.0.0.1
Bugs:
- PSEIP-97: PTP-Handle is not retrieved properly. Timesync-Registration in V3 Firmwares broken
New Features:
- PSEIP-87: Implement EIP_AS_OPTION_MAP_RUNIDLE and EIP_AS_OPTION_MAP_SEQCNT for output assemblies
- PSEIP-77: Add function to get the status of an allocatable resource
- PSEIP-43: Support Identity Object attribute 19 "Protection Mode"
- PSEIP-26: Implement EIP file object download services
Changes:
- PSEIP-91: Update to PTP V2.2.6.0
- PSEIP-90: Update to DrvEth 2-Port-Switch V1.2.0.0
- PSEIP-89: Update to lwIP V4.3.0.0
- PSEIP-88: Update to Driver Ethernet to V1.7.0.2
- PSEIP-78: Change parameters of function eip_eif_initialize_provider_update_request() and eip_eif_initialize_consumer_update_request()
- PSEIP-76: Increase stack size of low prio worker
- PSEIP-75: Member pvParam in attribute directory: consider removal
- PSEIP-73: NX52: Remanent data write threshold
- PSEIP-68: Tuning acylic request buffer sizes
- PSEIP-66: Adapt to changed API of ConfigManager V1.3.2.0
- PSEIP-59: NX90: Remanent data write threshold
- PSEIP-56: Improve error detection during stack boot
- PSEIP-55: Separate gci-core and gci-common, rename "gci-common" to "eip-interface", and rename "EIS_Intf" to "AP-Task"
- PSEIP-54: eip-core (folder eip) depends on eip_gci component
- PSEIP-53: Resurrect Scanner implementation: Updates, fixes, GCI adaption, example, documentation
- PSEIP-7: Cleanup stack API regarding services of Hilscher specific objects
- PSEIP-2: Rework file object to OSALv2
Bugs:
- PSEIP-99: TCP socket close callback argument not handled correctly
- PSEIP-92: CipObj_RequestAsync_HighPrio_NoResponseData() overwrites stack memory of calling worker
- PSEIP-86: Adapt to slighty changed PTP API
- PSEIP-85: Write to TimeSync attribute 14 with unchanged attribute value is not replied to
- PSEIP-83: Robustness against unexpected host behavior in handling object changes is insufficient
- PSEIP-72: nx90/4000: ERR_HIL_DUPLICATE_NODE is never set in DPM when ACD conflicted
- PSEIP-71: nx90/4000: Synchronization errors are not accounted
- PSEIP-70: Lower eCos Middleware task prio
- PSEIP-69: Support command HIL_GET_TRIGGER_TYPE_REQ for compatibility
- PSEIP-65: The segment "Production inhibit time in milliseconds" in connection path is rejected with status 0x315 "Invalid segment in path" (certification issue)
- PSEIP-64: EtherNetLink volatile attributes not reset to defaults in channel init
- PSEIP-63: EIP_OBJECT_MS_NS_IND delivers wrong value right after ChannelInit
- PSEIP-62: Packet HIL_GET_TRIGGER_TYPE_REQ is not supported
- PSEIP-61: Clarify semantics of comm states STOP and IDLE and BusOn event: Adapt API manual
- PSEIP-60: Missing range check for QOS Parameters in EIP_APS_SET_CONFIGURATION_PARAMETERS_REQ
- PSEIP-57: NX90: Writing non-volatile attributes in rapid succession may crash the system
- PSEIP-50: Pointer-Type (void*) in Packet Definition EIP_OBJECT_LFWD_OPEN_FWD_IND_T not portable
- PSEIP-49: TimeSync Attribute 300 is not in Vendor Specific range
- PSEIP-48: Set access to class attributes with EIP_OBJECT_CIP_SERVICE_REQ may lead to a crash
- PSEIP-47: Invalid socket linger timeout
- PSEIP-46: Delivering acyclic requests into GenAP: Retry-mechanism should probably not just "give up and discard the packet" after a few failed attempts
- PSEIP-45: Forward Close responses with an error status are sent with success reply message format
- PSEIP-44: Possible crash in host application overload case
- PSEIP-41: Crash after reading attribute 301 of Time Sync Object 0x43
- PSEIP-39: Stack runs into assertion when host application stops handling the mailbox during CT16 Connection Manager test
- PSEIP-38: Resource leak in UCMM Electronic Key handling
- PSEIP-36: Invalid TTL value in SetConfig not rejected
Changes:
- PSEIP-211: Backport - Improve on connection ID entropy
Bugs:
- PSEIP-269: Backport - Apply value of SelectAcd attribute on TCP object start only, not on any config change
- PSEIP-210: Define EIP_OBJECT_CIP_SERVICE_CNF_SIZE: Wrong parenthesis
- PSEIP-203: Additional status size too large in case of ownership conflict error
Bugs:
- PSEIP-191: Backport - EIP_AS_OPTION_MAP_SEQCOUNT for class 0 connections always mapped value zero into the DPM
- PSEIP-190: Backport - Setting CIP_FLG_TREAT_NOTIFY is broken for all non-NV and all variable size attributes
- PSEIP-189: Assembly data which is read over explicit service is not updated, if no I/O connection is running
- PSEIP-185: Off-by-one error in attribute Id check of CIPHIL_CMD_GET_ATTR_OPTION of TCP/IP object
- PSEIP-178: Allow nameserver addresses which are not in the device's subnet, but forbid multicast addresses
- PSEIP-174: TCP/IP object attribute 9 "mcast config" is initialized to [0,0,0,0]
Bugs:
- PSEIP-172: [TimeSync] PTP stays disabled after power cycle although TimeSync attribute 1 is set to "Enabled"
- PSEIP-171: Changing PTP DSCP values must not be applied before next restart (certification issue)
Bugs:
- PSEIP-164: Allow DSCP values used by the PTP subsystem to change dynamically
- PSEIP-162: RCX_GET_DPM_IO_INFO_REQ broken
- PSEIP-160: EtherNetLink attribute 8 "Interface state" may have undefined value 0
Bugs:
- PSEIP-158: When changing from 10Mbit/s to any other link speed, the link has to be kept down for two seconds
- PSEIP-151: Parsing of requests path with multiple segments
- PSEIP-150: In case no resource avail for remanent store indiciation, a crash might occur
- PSEIP-148: DHCP-assigned hostname is not stored remanently & lost over next power cycle
- PSEIP-141: DHCP-retrieved host name is not applied into TCP/IP object attribute 6
- PSEIP-138: Missing some attribute value validation checks
- PSEIP-137: Timesync attribute 6 set has no effect
Changes:
Bugs:
- PSEIP-134: Packet interface replies to EIP_OBJECT_RESET_RES wit hEIP_OBJECT_RESET_RES
- PSEIP-128: [CIP Sync] Time Sync object attribute 27 does not behave correctly (certification issue)
- PSEIP-127: CIP_IO_MAX_INSTANCE_ATTR should be 3 instead of 10
- PSEIP-122: API manuals: remove upper limit for assembly instance ID range
- PSEIP-121: EIP_EN_MAX_INSTANCE_ATTR value is wrong
- PSEIP-120: Incorrect value of CIP_ID_MAX_INSTANCE_ATTR
- PSEIP-119: CIP_TIMESYNC_MAX_INSTANCE_ATTR value is wrong
- PSEIP-117: netX52: "Fire & forget object changes " not stored remanently
- PSEIP-116: Add checks for valid assembly instance numbers
Changes:
Bugs:
- PSEIP-109: NULL FwOpen should be rejected if at least one data direction requests a Null connection type
- PSEIP-105: Memory corruption when two CIP services are processed at the same time
- PSEIP-100: Header casing inconsistent in file system and include statements
Bugs:
- PSEIP-99: TCP socket close callback argument not handled correctly
Bugs:
- PSEIP-92: CipObj_RequestAsync_HighPrio_NoResponseData() overwrites stack memory of calling worker
Bugs:
- PSEIP-85: Write to TimeSync attribute 14 with unchanged attribute value is not replied to
- PSEIP-83: Robustness against unexpected host behavior in handling object changes is insufficient
- PSEIP-72: nx90/4000: ERR_HIL_DUPLICATE_NODE is never set in DPM when ACD conflicted
- PSEIP-71: nx90/4000: Synchronization errors are not accounted
- PSEIP-70: Lower eCos Middleware task prio
Changes:
- PSEIP-66: Adapt to changed API of ConfigManager V1.3.2.0
- PSEIP-59: NX90: Remanent data write threshold
- PSEIP-56: Improve error detection during stack boot
- PSEIP-54: eip-core (folder eip) depends on eip_gci component
- PSEIP-7: Cleanup stack API regarding services of Hilscher specific objects
Bugs:
- PSEIP-65: The segment "Production inhibit time in milliseconds" in connection path is rejected with status 0x315 "Invalid segment in path" (certification issue)
- PSEIP-64: EtherNetLink volatile attributes not reset to defaults in channel init
- PSEIP-63: EIP_OBJECT_MS_NS_IND delivers wrong value right after ChannelInit
- PSEIP-62: Packet HIL_GET_TRIGGER_TYPE_REQ is not supported
- PSEIP-60: Missing range check for QOS Parameters in EIP_APS_SET_CONFIGURATION_PARAMETERS_REQ
- PSEIP-57: NX90: Writing non-volatile attributes in rapid succession may crash the system
- PSEIP-50: Pointer-Type (void*) in Packet Definition EIP_OBJECT_LFWD_OPEN_FWD_IND_T not portable
- PSEIP-48: Set access to class attributes with EIP_OBJECT_CIP_SERVICE_REQ may lead to a crash
- PSEIP-46: Delivering acyclic requests into GenAP: Retry-mechanism should probably not just "give up and discard the packet" after a few failed attempts
Bugs:
- PSEIP-47: Invalid socket linger timeout
- PSEIP-45: Forward Close responses with an error status are sent with success reply message format
- PSEIP-44: Possible crash in host application overload case
- PSEIP-41: Crash after reading attribute 301 of Time Sync Object 0x43
- PSEIP-39: Stack runs into assertion when host application stops handling the mailbox during CT16 Connection Manager test
- PSEIP-38: Resource leak in UCMM Electronic Key handling
- PSEIP-36: Invalid TTL value in SetConfig not rejected
Changes:
- PSEIP-28: Connection manager should close connections regularly on "STOP" command instead of timing them out
Bugs:
- PSEIP-33: Time Sync service Get Attributes List returns wrong or not updated data
- PSEIP-32: Fail of manual TTL test: "Routing to existent Default Gateway Behavior, TTL = 2"
- PSEIP-31: Reject Set Config packet with Product Code = 0 and adapt API manual accordingly
- PSEIP-30: SetAttributeSingle with Product Code = 0 not rejected
- PSEIP-29: CIP reset causes a HIL_CABLE_DISCONNECT error to be accounted
- PSEIP-25: nx90/4000 fileheader: Protocol class "Ethernet Messaging" for channel 1 where "Network Services" is expected
- PSEIP-24: Time Sync attribute 300 is not supported by services GetAttributesList and SetAttributesList
- PSEIP-22: CIP service Get Attribute Option fails for attribute 300 of Time Sync Object and Ethernet Link Object
- PSEIP-21: CIP service Set Attribute Option is not supported for Time Sync Object
- PSEIP-20: Parameter State = 0 in List Identity Response
- PSEIP-19: On watchdog error COM and RUN flags are not cleared
- PSEIP-18: Some packet commands always fail with error ERR_HIL_FAIL
- PSEIP-17: Error Count in DPM Common Status is not cleared after Channel Init
- PSEIP-16: EIP_APS_MS_NS_CHANGE_RES is rejected with error ERR_HIL_UNKNOWN_COMMAND
- PSEIP-14: Target device class in fileheader is set to netX90_COM for netX90_COM with HIFSDRAM (should be set to dedicated target device class)